package mysql8学习.高级.第18章_主从复制;

/**
 * 1.2主从复制的作用
 * 主从同步设计不仅可以提高数据库的吞吐量，还有以下3个方面的作用。
 *
 * 第1个作用:读写分离。
 *     我们可以通过主从复制的方式来同步数据，
 *     然后通过读写分离提高数据库并发处理能力。
 *
 *     其中一个是Master主库，负责写入数据，我们称之为:写库。
 *      其它都是Slave从库，负责读取数据，我们称之为:读库。
 *    当主库进行更新的时候，会自动将数据复制到从库中，而我们在客户端读取数据的时候，会从从库中进行读取。
 *
 *    面对“读多写少”的需求，采用读写分离的方式，可以实现更高的并发访问。
 *    同时,我们还能对从服务器进行负载均衡，
 *    让不同的读请求按照策略均匀地分发到不同的从服务器上，让读取更加顺畅。
 *    读取顺畅的另一个原因,就是减少了锁表的影响，比如我们让主库负责写，
 *    当主库出现写锁的时候，不会影响到从库进行SELECT的读取。
 *
 * 第2个作用就是数据备份。
 *   我们通过主从复制将主库上的数据复制到了从库上,相当于是一种热备份机制，
 *   也就是在主库正常运行的情况下进行的备份，不会影响到服务。
 *
 * 第3个作用是具有高可用性。   比如淘宝，每年的每时每刻 不会出现打不开淘宝，不会出现停机
 *    数据备份实际上是一种冗余的机制，通过这种冗余的方式可以换取数据库的高可用性,
 *    也就是当服务器出现故障或宕机的情况下，可以切换到从服务器上,保证服务的正常运行。
 *    关于高可用性的程度，我们可以用一个指标衡量，即正常可用时间/全年时间。
 *    比如要达到全年99.999%的时间都可用，
 *    就意味着系统在一年中的不可用时间不得超过 365*24*60* (1-99.999%) =5.256分钟
 *    (含系统崩溃的时间、日常维护操作导致的停机时间等)，其他时间都需要保持可用的状态。
 *    实际上，更高的高可用性，意味着需要付出更高的成本代价。
 *    在现实中我们需要结合业务需求和成本来进行选择。
 *
 */
public class A2_主从复制作用 {
}
